Foundations of Computer Graphics - Lecture 1 [Part 4]
- هنكمل الشابتر الاول, في الجزء ده هنتكلم عن الألوان في الـ Computer Graphics، وإزاي الكمبيوتر بيخزن ويعرض الألوان باستخدام أنظمة مختلفة زي RGB وCMYK.
- كمان هنتعرف على مفاهيم مهمة زي Color Depth وAlpha Channel وتأثيرهم على جودة الصور والشفافية وحجم البيانات.
1) Color Model
Color Model is a mathematical framework used to represent colors as numerical values.
- الـ color models بتتقسم لنوعين أساسيين:
Additive Color ModelsSubtractive Color Models
- التصنيف ده بيعتمد على هل اللون بيتكون بإضافة الضوء ولا بامتصاص الضوء.
2) Additive Color Models
- الـ
Additive Color Modelsبتكون الألوان عن طريق دمج مصادر ضوء, كل ما تزود الاضاءه، اللون الناتج يبقى أفتح, ولما الاضاءه تزيد للاخر، الناتج يبقى white, لما مفيش ضوء، الناتج يبقى black. - بتستخدم في الأجهزة الالكترونية اللي بتطلع ضوء زي:
- Computer monitors
- Televisions
- Mobile screens
- Projectors
Common Additive Color Models
| ا Model | الفكرة |
|---|---|
| RGB | بيعتمد على Red, Green, Blue، وده الأساسي في الشاشات والكاميرات والـ scanners |
| HSV / HSB | مشتق من RGB وبيمثل اللون بـ Hue, Saturation, Value/Brightness، وأسهل في اختيار وتعديل الألوان, اقرب حاجة لتصورنا ك بشر عن الالوان |
| HSL | مشتق من RGB برضه، بس بيستخدم Lightness بدل brightness ويدي تحكم أحسن في shading و color variations |
| CIE XYZ | ا device-independent model مبني على منظورنا في الضوء، وبيستخدم كـ reference color space للتحويل بين الأجهزة |
RGB
- الـ
RGBهو أهم additive color model في computer displays. - اللون بيتكون من intensities مختلفة من الـ : Red والـ Green والـ Blue
- لما التلاتة يبقوا maximum، اللون يبقى white.
3) Subtractive Color Models
- الـ
Subtractive Color Modelsبتستخدم في الطباعة. - بتدمج pigments أو inks عشان تمتص اطوال موجية معينة من الضوء.
- ,ئأشهر model هنا هو
CMYK:- Cyan
- Magenta
- Yellow
- Black / Key
- الـ
KمعناهاKey, المشكله اننا لو ضفنا الـ Cyan , Magenta , Yellow هيديلنا بني غامق فـ بنستخدم الـ key عشان نعرف ننتج اللون الاسود
4) Color Depth
Color Depth is the number of bits used to represent the color of a single pixel.
- كل بيكسل على الشاشة محتاج مساحة في الميموري (بالـ Bit) عشان يخزن بيانات لونه. كل ما تزود مساحة الـ Bits للبيكسل الواحد، كل ما تقدر تطلع تدرجات ألوان أكتر بكتير.
- يعني
24-bit colorبيمثل تقريبا:
2^24 = 16,777,216 colors // More bits per pixel = more possible colors
Color depth is also referred to as:
Bit DepthBits Per Pixel (bpp)Bits Per Channel (bpc)
5) Color Palette and Indexed Color
Color Palette
Color Palette is a predefined table containing a limited set of colors available for an image or display.
- بدل ما نخزن اللون كامل لكل pixel، ممكن نخزن index بس.
- الـ index ده بيشاور على لون موجود في palette.
- الطريقة دي بتقلل memory usage و file size.
- كانت مهمة جدا في أنظمة الكمبيوتر القديمة, بس لسه بتستخدم ساعات لما memory efficiency تبقى مهمة.
Indexed Color
Indexed Color is a color representation method that uses a color palette.
- في
Indexed Color:- كل pixel بيخزن index value.
- الـ index بيشاور على لون داخل الـ palette.
- قيم الألوان الحقيقية بتتخزن مرة واحدة في الـ palette.
- بيستخدم غالبا مع color depth محدود زي:
1-bit4-bit8-bit
6) Common Color Depths
| Color Depth | No. of Colors | Palette | Color Mode |
|---|---|---|---|
| 1-bit color | 2 |
Yes | Indexed Color |
| 4-bit color | 16 |
Yes | Indexed Color |
| 8-bit color | 256 |
Yes | Indexed Color |
| 24-bit color | 16,777,216 |
No | True Color |
7) Difference Between 16-bit, 24-bit, and 32-bit Color
- التلاتة بيستخدموا
RGB Color Model، بس بيختلفوا في عدد color combinations ووجود alpha channel.
| Type | الفكرة |
|---|---|
| 16-bit color / High Color | بيدعم 65,536 colors، ومناسب لمعظم الاستخدامات العامة |
| 24-bit color / True Color | بيدعم 16,777,216 colors، وبيطلع gradients ناعمة وجودة عالية |
| 32-bit color | زي 24-bit بس بيضيف Alpha Channel للشفافية والتأثيرات المتقدمة، ونظريا بيدعم 4,294,967,296 combinations |
- ا Higher color depth محتاج memory أكتر و processing power أكتر.
- بس أغلب modern graphics hardware بتدعمه.
8) Alpha Channel
Alpha Channel is an additional component added to RGB to represent transparency.
- الـ
Alpha Channelبيتحكم في درجة شفافية أو عتامة كل pixel. - القيم الأقل معناها transparency (شفافيه) أعلى.
- القيم الأعلى معناها opacity (وضوح) أعلى.
- الـ
32-bit colorبيستخدم alpha channel مع RGB عشان يدعم:- ا Transparency
- ا Shadows
- ا Smooth blending
- ا Advanced effects
9) Advantages and Disadvantages of Higher Color Depth
Advantages
- ألوان واقعية أكتر.
- الـ gradients أنعم.
- دعم أحسن للـ shadows والـ transparency والـ complex visual effects.
- ممكن يقلل eye strain أثناء مشاهدة الصور والفيديوهات.
Disadvantages
- استهلاك أكبر للـ memory.
- محتاج processing power أكتر.
- ممكن يقلل
FPSفي الألعاب حسب graphics card ومتطلبات اللعبة.
10) True Color
True Color is any color setting using at least 24 bits per pixel, capable of representing about 16.7 million colors.
- الـ
True Colorبيقدر يمثل الصور والـ complex graphics بدقة عالية فيRGB Color Space. - غالبا بيتقسم لـ 256 shade لكل channel:
- Red
- Green
- Blue
- بيدي display ناعم ودقيق للألوان.
- عدد الألوان فيه أكبر من اللي العين البشرية تقدر تميزه بدقة في حالات كتير.
11) ملخص المحاضرة
اتكلمنا في المحاضره دي عن Color Models وعرفنا إن فيه نوعين: Additive (زي RGB و HSV و HSL - بيستخدم في الشاشات بإضافة الضوء) و Subtractive (زي CMYK - بيستخدم في الطباعة بامتصاص الضوء).
وعرفنا الـ Color Depth - عدد البتات المستخدمة لكل Pixel، وكل ما زادت كل ما الألوان كانت أكتر ودقة أعلى (زي 24-bit True Color بـ 16.7 مليون لون).
واتكلمنا عن Indexed Color و Color Palette - إن كل Pixel بيخزن Index بدل اللون الكامل عشان توفير memory، وده كان مهم في الأنظمة القديمة.
وفي الآخر عرفنا الـ Alpha Channel - القناة الإضافية للشفافية في 32-bit color، و True Color (24-bit) وقارنا بين 16-bit و 24-bit و 32-bit.